Non-volatile storage systems, such as a Solid State Drives (SSD), are typically expected to recover from sudden loss of electrical power with minimal loss of data. However, if sudden power loss occurs during programming of certain types of non-volatile memory, such as those which utilize multi-level cells (MLC) for storage, the integrity of the data stored in those cells may be compromised. Accordingly, what are needed are systems and methods that handle such power failures.